Docker for win10 桌面版的安装及配置(偏向脱坑) |
您所在的位置:网站首页 › windows 家庭版 docker › Docker for win10 桌面版的安装及配置(偏向脱坑) |
安装
按照它的指引教程,无脑下一步即可 下载地址: docs.docker.com/desktop/win… 安装完成后,它会有新手引导,按照上面的命令运行即可,大概4步做完后,docker就已经安装完成。 此时可以通过查看版本号,查看docker的相关信息 docker -v 后续就可以在power shell中使用docker的命令来操作docker 例如: 使用国内源替代掉docker的默认源 "https://hub-mirror.c.163.com", "https://ustc-edu-cn.mirror.aliyuncs.com", "https://ghcr.io", "https://mirror.baidubce.com"拉取Nginx镜像 docker pull nginx:latest端口映射+新建并启动Nginx docker run --name my-nginx -p 80:80 -d nginx--name my-nginx 指定容器的名称 -p 80:80 映射端口 -d 守护进程运行 nginx 镜像版本,也可以指定版本,如:nginx:1.18.0 如果单纯想启动一个测试用的nginx就启动完了,测试效果如下 停止+删除nginx stop代表停止,右边的垃圾桶图标则是删除 命令行删除: 出现连接容器的bug,大部分都是因为这个坑 Docker for win10的docker实际运行在新建的WSL2宿主机。那此时如何与Windows通信? 此时存在3个IP: docker容器的IP Linux宿主机IP 本地Windows IP访问哪个IP才能访问到容器内部的应用? 使用常用的测试容器Nginx 测试结果: 可以看到使用localhost,即可访问。这是WSL2的优化 同时,大量镜像甚至没有安装net-tools,无法直接查看IP。即默认,容器对外部隐藏IP 如果容器默认对外部隐藏IP,那连接容器的方式就完全通过 docker宿主机IP+端口转发(访问宿主机上指定的端口,然后宿主机端口帮忙跳转到容器端口)。 docker for windows桌面版是一种特殊的Windows安装docker的方式。其中docker宿主机IP被设定和本地 Windows IP一样。而WSL2直接安装的方式中,两者是不同IP,只不过在同一个WSL子网下。 实际ping容器的IP和端口号 这里陷入过误区,一直在用容器端口+3306连接数据库,一直认为是docker for windows有坑。或者是Windows防火墙策略。 异端口转发测试(装docker,跑这个测试):查看被禁用的端口 netsh interface ipv4 show excludedportrange protocol=tcp选择9999作为测试端口号进行测试: 查看端口转发: 配置运行容器 查看禁止的端口: netsh interface ipv4 show excludedportrange protocol=tcp选择6666做为本地端口号 启动MySQL容器,需要指定初始密码+端口映射 这里密码设置为了 root docker run --name MYSQL -e MYSQL_ROOT_PASSWORD=root -p 6666:3306 -itd mysql:5.7 /bin/bash连接到容器 登录容器内的MySQL 配置MySQL-改字符集: 进入容器修改my.cnf文件 查找 my.cnf文件 mysql --help | grep my.cnf修改/etc/mysql/my.cnf文件 坑点:没有nano和vi 没有vi和nano,如何改文件+换源? 使用手动echo添加源,再安装nano 备份源 cp /etc/apt/sources.list /etc/apt/sources.list.bak删掉原本的sources.list rm -rf /etc/apt/sources.list手动echo添加源 echo 源 > sources.list echo deb http://mirrors.aliyun.com/debian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib deb http://mirrors.aliyun.com/debian-security buster/updates main deb-src http://mirrors.aliyun.com/debian-security buster/updates main deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib > sources.list更新 apt update apt upgrade安装nano apt install nano开始修改 nano /etc/mysql/my.cnf添加进去的字符集参数 [mysqld] character-set-server=utf8mb4 [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4进入mysql中查询字符集 show variables like '%character%';重启MySQL容器后再查询字符集 配置MySQL -允许远程登录 选择mysql库 use mysql;查看用户表 SELECT `Host`,`User` FROM user;如果不是%,则使用修改命令 UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;本地Windows连接MySQL容器 IP使用localhost,端口号填新建容器时选择的本地转发端口 连接成功 blog.lupf.cn/articles/20… blog.csdn.net/weixin_4585… zhuanlan.zhihu.com/p/365632905 www.cnblogs.com/sablier/p/1… zhuanlan.zhihu.com/p/372062996 zhuanlan.zhihu.com/p/266534015 zhuanlan.zhihu.com/p/143857664 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |